The present invention is directed to methods and apparatus for storing and retrieving records.
There are several companies that provide offsite electronic data storage management and disaster recovery services. These services typically provide for storage of electronic records on either hard drives or tape media for customers in a safe and secure environment. The records stored typically include backups of current records as well as archived records. The archived records typically include older files that need not be accessed frequently, if ever again, but that are stored in accordance with statutory requirements (i.e., tax records), contractual requirements (i.e., engineering design documents and drawings) and company data archival policies.
One problem that often occurs when accessing archived files, is that the application software that was used to create the files is no longer available making it difficult or impossible to retrieve the data stored in the files. This problem may occur because of upgrades or revisions that have occurred to the application software used to create the file or because the application is simply no longer available. When an application software manufacturer upgrades an application and releases a new version, it is normally expected that the manufacturer will provide for some backward compatibility that allows the new version of the application to read files created using the previous version of the application. However, this backward compatibility does not typically extend beyond one or two prior revisions.
A computer network system is set forth for providing bi-directional communication in a predetermined format between a plurality of client computers and a server computer in accordance with one embodiment of the present invention. More precisely, the system includes an archive computer system, which can store and retrieve a number of client records. The archive computer is coupled to a number of user-computers, via a firewall gateway, and computer network respectively. The archive computer system can include a processor and associated memory, a non-volatile storage medium, an operating system and a mass storage database, which contains the number of client records. Each of the client records includes a transparent sector having predetermined client related information. The archive computer system stores and retrieves the records in the database in accordance with the information defined in the transparent sector. The archive computer system further includes a catalogue which contains predetermined information related to the records stored in the mass storage database.
A method of storing records on the archive computer system includes, receiving a record at the archive computer system from a client computer for storage in the mass storage database, the record including name and revision of application software used to generate the record; appending a transparent sector to the record, the transparent sector including the name and revision of application software used to generate the record, a client identifier, file name, a short description of the subject matter contained in the record, date and time which defines when the file was received at the archive computer system; assigning a record name to the record which includes the transparent sector; storing the record, including the transparent sector, at a predetermined location defined in the mass storage database; and storing the record name and the predetermined location of the record defined in the mass storage database in the catalogue.
The method of storing records further includes storing a name and revision of application software used to generate each record defined in the mass storage database in the catalog. Other record related information, which is stored in the catalogue, can include client identity, record name, and the date and time at which the record was stored in the mass storage database.
The method of retrieving records from the archive computer system includes receiving a request at the archive computer system from the client computer for retrieval of a stored record; determining the location of the record in the catalogue; retrieving the record; reading the transparent sector associated with the record to determine the application software program and version used to generate the record; comparing the application software program and version used to generate the record with a directory of applications currently being used by the client computer that has requested the record; determining if the application software program and version used to generate the record matches an application software program and version defined in the table, and if a match is determined, the record can be sent to the client computer, and if a match is not determined, the record can be sent to the client computer with an application software program and version compatible with the application software program and version used to generate the record.